package vip.xiaonuo.sys.fymodule.order.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 支付请求日志
 * </p>
 *
 * @author wangy
 * @since 2025-06-28
 */
@Data
@TableName("sxo_pay_request_log")
@Schema(name = "SxoPayRequestLog对象", description = "支付请求日志")
public class SxoPayRequestLog implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "自增id")
    @TableId(value = "id", type = IdType.AUTO)
    private String id;

    @Schema(description = "业务类型，字符串（如：订单、钱包充值、会员购买、等...）")
    @TableField("business_type")
    private String businessType;

    @Schema(description = "请求参数（数组则json字符串存储）")
    @TableField("request_params")
    private String requestParams;

    @Schema(description = "响应参数（数组则json字符串存储）")
    @TableField("response_data")
    private String responseData;

    @Schema(description = "业务处理结果（数组则json字符串存储）")
    @TableField("business_handle")
    private String businessHandle;

    @Schema(description = "请求url地址")
    @TableField("request_url")
    private String requestUrl;

    @Schema(description = "端口号")
    @TableField("server_port")
    private String serverPort;

    @Schema(description = "服务器ip")
    @TableField("server_ip")
    private String serverIp;

    @Schema(description = "客户端ip")
    @TableField("client_ip")
    private String clientIp;

    @Schema(description = "操作系统")
    @TableField("os")
    private String os;

    @Schema(description = "浏览器")
    @TableField("browser")
    private String browser;

    @Schema(description = "请求类型")
    @TableField("method")
    private String method;

    @Schema(description = "http类型")
    @TableField("scheme")
    private String scheme;

    @Schema(description = "http版本")
    @TableField("version")
    private String version;

    @Schema(description = "客户端详情信息")
    @TableField("client")
    private String client;

    @Schema(description = "添加时间")
    @TableField("add_time")
    private String addTime;

    @Schema(description = "更新时间")
    @TableField("upd_time")
    private String updTime;

    @Schema(description = "支付平台交易号")
    @TableField("trade_no")
    private String tradeNo;
}
